import request from '@/utils/request'

/**
 * 获取日报列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码，默认1
 * @param {number} params.size - 每页条数，默认10
 * @returns {Promise} 返回日报列表数据
 */
export function getDailyList(params) {
  return request({
    url: '/api/daily',
    method: 'get',
    params
  })
}

/**
 * 获取日报详情
 * @param {string} id - 日报ID
 * @returns {Promise} 返回日报详情数据
 */
export function getDailyDetail(id) {
  return request({
    url: `/api/daily/${id}`,
    method: 'get'
  })
}

/**
 * 创建日报
 * @param {Object} data - 日报数据
 * @param {string} data.title - 日报标题
 * @param {string} data.content - 日报内容
 * @param {string} data.status - 日报状态，通过 getDailyStatusEnum() 接口获取枚举值，默认DRAFT
 * @returns {Promise} 返回创建结果
 */
export function createDaily(data) {
  return request({
    url: '/api/daily',
    method: 'post',
    data
  })
}

/**
 * 更新日报
 * @param {string} id - 日报ID
 * @param {Object} data - 日报数据
 * @param {string} data.title - 日报标题
 * @param {string} data.content - 日报内容
 * @param {string} data.status - 日报状态，通过 getDailyStatusEnum() 接口获取枚举值
 * @returns {Promise} 返回更新结果
 */
export function updateDaily(id, data) {
  return request({
    url: `/api/daily/${id}`,
    method: 'put',
    data
  })
}

/**
 * 删除日报
 * @param {string} id - 日报ID
 * @returns {Promise} 返回删除结果
 */
export function deleteDaily(id) {
  return request({
    url: `/api/daily/${id}`,
    method: 'delete'
  })
}

/**
 * 审批日报
 * @param {string} id - 日报ID
 * @param {Object} data - 审批数据
 * @param {string} data.status - 审批状态，枚举值：ApprovalStatus.APPROVED-通过，ApprovalStatus.REJECTED-拒绝
 * @param {string} data.comment - 审批意见
 * @returns {Promise} 返回审批结果
 */
export function approveDaily(id, data) {
  return request({
    url: `/api/daily/${id}/approve`,
    method: 'post',
    data
  })
}

/**
 * 批量审批日报
 * @param {Object} data - 批量审批数据
 * @param {Array<string>} data.ids - 日报ID列表
 * @param {string} data.status - 审批状态，枚举值：ApprovalStatus.APPROVED-通过，ApprovalStatus.REJECTED-拒绝
 * @param {string} data.comment - 审批意见
 * @returns {Promise} 返回批量审批结果
 */
export function batchApproveDaily(data) {
  return request({
    url: '/api/daily/approve',
    method: 'post',
    data
  })
}



